package com.xnew.operator.service;

import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.xnew.utils.DataInput;
import com.xnew.operator.bean.AcctOperatorLog;
import com.xnew.operator.mapper.AcctOperatorLogMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cache.annotation.CacheConfig;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import javax.servlet.http.HttpServletRequest;
import java.util.List;
import java.util.Map;

/**
 * Created by lenovo on  三月
 */

@Service
@CacheConfig
@Transactional(rollbackFor = Exception.class)
public class AcctOperatorLogService {

	@Autowired
	private AcctOperatorLogMapper acctOperatorLogMapper;

	/**
	 * @方法名：selectAll
	 * @功能说明：查询所有日志信息
	 * @author ycd
	 * @date  2019年9月19日 下午4:39:22
	 * @param request
	 * @return
	 */
	public PageInfo<AcctOperatorLog> selectAll(Map<String, Object> map, HttpServletRequest request) throws Exception{
		PageHelper.startPage(Integer.parseInt(map.get("currentPage").toString()), Integer.parseInt(map.get("pageSize").toString()),true);
		List<AcctOperatorLog> selectUser = acctOperatorLogMapper.selectAll(map);
		final PageInfo<AcctOperatorLog> pageInfo = new PageInfo<AcctOperatorLog>(selectUser);
		return pageInfo;
	}

	/**
	 * @方法名：selectAll
	 * @功能说明：查询所有日志信息
	 * @author ycd
	 * @date  2019年9月19日 下午4:39:22
	 * @return
	 */
	public List<AcctOperatorLog> selectAll(DataInput input) throws Exception{
		PageHelper.startPage(input.getPageNum(), input.getPageSize());
		List<AcctOperatorLog> list = acctOperatorLogMapper.selectAll(input.getParam());
		return list;
	}
	
	/**
	 * @方法名：insertOperator
	 * @功能说明：插入日志信息
	 * @author ycd
	 * @date  2019年9月19日 下午4:39:22
	 * @return
	 */
	public void insertOperator(AcctOperatorLog acctOperatorLog) {
		try {
			acctOperatorLogMapper.insert(acctOperatorLog);
		}catch (Exception e) {
			e.printStackTrace();
		}
	}
	
	/**
	 * @方法名：updateOperator
	 * @功能说明：更新日志信息
	 * @author ycd
	 * @date  2019年9月19日 下午4:39:22
	 * @return
	 */
	public void updateOperator(AcctOperatorLog acctOperatorLog) {
		try {
			acctOperatorLogMapper.updateByPrimaryKey(acctOperatorLog);
		}catch (Exception e) {
			e.printStackTrace();
		}
	}

	/**
	 * @方法名：selectByPrimaryKey
	 * @功能说明：查询日志信息
	 * @author ycd
	 * @date  2019年9月19日 下午4:39:22
	 * @param aolId
	 * @return AcctOperatorLog
	 */
	public AcctOperatorLog selectByPrimaryKey(String aolId)  throws Exception{
		return acctOperatorLogMapper.selectByPrimaryKey(aolId);
	}
}
